'''
Created on Nov 23, 2011

@author: arief
'''
import logging
import pickles_loader
import nltk

class NerWrapper:

    pickleLoader = None
    cp_per = None
    cp_org = None
    cp_loc = None

    @staticmethod
    def get_ner2(text):
        return ([],[],[])

    @staticmethod
    def get_ner(text):
        import en_ner
        
        if NerWrapper.cp_per is None:
            NerWrapper.pickleLoader = pickles_loader.PickleLoader()
            NerWrapper.cp_per = NerWrapper.pickleLoader.ne_per_en
            NerWrapper.cp_org = NerWrapper.pickleLoader.ne_org_en
            NerWrapper.cp_loc = NerWrapper.pickleLoader.ne_loc_en

            
    
        tokens = nltk.pos_tag(nltk.word_tokenize(text))
    
        person_list = []
        org = []
        loc = []
        
        result = NerWrapper.cp_per.parse(tokens)
        person_so_far = ""
    
        p_list, person_so_far = en_ner.getPerson(result,person_so_far)
        person_list.extend(p_list)
        
        result = NerWrapper.cp_org.parse(tokens)
        org.extend(en_ner.getOrganization(result))
        
        result = NerWrapper.cp_loc.parse(tokens)
        loc.extend(en_ner.getLocation(result))
        
        return (person_list, org, loc)

# if __name__=="__main__":
    
    # print NerWrapper.get_ner("Korupsi telah ditetapkan oleh Perserikatan Bangsa Bangsa (PBB) sebagai extra ordinary crime. Karena itu, sudah seharusnya para koruptor \"seperti Rosa yang telah mengaku bersalah di depan majelis hakim\" itu diganjar dengan hukuman seberat mungkin, kalau perlu hukuman mati. Karena mereka telah merampok duit untuk Kaepi dan Maksum serta puluhan juta penduduk miskin negeri ini.")
    # print NerWrapper.get_ner("Korupsi telah ditetapkan oleh Perserikatan Bangsa Bangsa (PBB) sebagai extra ordinary crime. Karena itu, sudah seharusnya para koruptor \"seperti Rosa yang telah mengaku bersalah di depan majelis hakim\" itu diganjar dengan hukuman seberat mungkin, kalau perlu hukuman mati. Karena mereka telah merampok duit untuk Kaepi dan Maksum serta puluhan juta penduduk miskin negeri ini.")
    
